1. Field
The present disclosure relates to systems and methods for estimating continuous tone values associated with input pixels in a color image. Specifically, the present disclosure relates to systems and methods for estimating continuous tone values from rendered binary input values.
2. Description of Related Art
Digital images may be formatted as continuous tone (contone) images having a wide range of tonal values or may be formatted as coarsely quantized images having a limited number of tonal values, such as two levels for a binary image. Digital halftoning is a process of transforming a continuous tone image to a coarsely quantized image. Digital halftoning is an important step in printing or displaying digital images possessing contone color tones because most printing processes are operating in a binary mode. Examples of such marking processes are offset printing presses, xerography, and ink-jet printing. In these processes, for each color separation of an image, a corresponding colorant spot is either printed or not printed at any specified image location, or pixel. Digital halftoning controls the printing of color dots formed by combinations of colorant spots of a colorant set, where the spatial averaging of the printed colorant dots, such as by the human visual system, provides the illusion of the required continuous tones.
In many image processing functions, there is a need to estimate continuous tone values from a rendered binary input. A contone estimate value is generated by finding the maximum halftone threshold from all “ON” pixel locations in a small window. In algorithms such as binary domain trapping and binary domain edge enhancement, for example, often what is needed is an array of continuous tone estimate values generated from an array of small windows around the pixel of interest. This generally means a substantial amount of parallel processing and therefore a substantial amount of logic resources.
For example, FIG. 1 shows an exemplary 3×3 array of small windows used in a sliding window approach for continuous tone values estimation. These 5×5 or 25-pixels small windows generally move with the pixel of interest P for continuous tone values estimation. The “sliding window” may generally be described as a window that moves one pixel/one scan line at a time. In other words, the center or some other reference point in the window moves through every pixel. This sliding window approach is quite expensive to implement as it involves a large amount of parallel processing.
One way to make the design simpler is to use a tiling window approach instead of the sliding window approach. FIG. 2 illustrates an exemplary tiling window T has sixteen small tiles or small tiling windows. That is, the tiling window T has four tiles in each of the four rows. Each small tile or tiling window includes 5×5 or 25 pixels. The “tiling window” may generally be described as a window that moves by the dimension of the window each time (i.e., in the case of non-overlapping tiling window). However, besides the compromise in estimation accuracy associated with the tiling window approach, more memory is needed for the continuous tone estimate result and the binary context to line up. Also, in this tiling window approach, in order to obtain continuous tone estimate value from a uniform area some distance away from the current pixel of interest P, an additional row of windows is needed.
The sliding window S is also shown in FIG. 2 to illustrate the aspect that more rows (or an additional row of tiles) are needed in the tiling window approach in order to cover the context that the sliding window S covers with respect to the current pixel of interest.
Accordingly, what is needed in this art is an improved method that is configured to estimate continuous tone values from rendered binary input such that the improved method not only reduces the needed logic resources but also avoids an increase in memory consumption.